package com.hxzy.shop.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class DeliverErrorLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty("id")
    private Long id;

    /**
     * 配送活动标识
     */
    @ApiModelProperty("配送活动标识")
    private Long deliveryId;

    /**
     * 美团配送内部订单id，最长不超过32个字符
     */
    @ApiModelProperty("美团配送内部订单id，最长不超过32个字符")
    private Long mtPeisongId;

    /**
     * 外部订单号，最长不超过32个字符
     */
    @ApiModelProperty("外部订单号，最长不超过32个字符")
    private Long orderId;

    /**
     * 异常ID，用来唯一标识一个订单异常信息。接入方用此字段用保证接口调用的幂等性。
     */
    @ApiModelProperty("异常ID，用来唯一标识一个订单异常信息。接入方用此字段用保证接口调用的幂等性。")
    private Long exceptionId;

    /**
     * 订单异常代码，当前可能的值为：
     * <p>
     * 10001：顾客电话关机
     * <p>
     * 10002：顾客电话已停机
     * <p>
     * 10003：顾客电话无人接听
     * <p>
     * 10004：顾客电话为空号
     * <p>
     * 10005：顾客留错电话
     * <p>
     * 10006：联系不上顾客其他原因
     * <p>
     * 10101：顾客更改收货地址
     * <p>
     * 10201：送货地址超区
     * <p>
     * 10202：顾客拒收货品
     * <p>
     * 10203：顾客要求延迟配送
     * <p>
     * 10301：商家出餐慢
     * <p>
     * 10401：商家关店/未营业
     * <p>
     * 10601：联系不上商家
     * <p>
     * 10701：商家定位错误
     */
    @ApiModelProperty("订单异常代码")
    private Integer exceptionCode;

    /**
     * 订单异常详细信息
     */
    @ApiModelProperty("订单异常详细信息")
    private String exceptionDescr;

    /**
     * 配送员上报订单异常的时间，格式为long，时区为GMT+8，距离Epoch(1970年1月1日) 以秒计算的时间，即unix-timestamp。
     */
    @ApiModelProperty("配送员上报订单异常的时间，格式为long，时区为GMT+8，距离Epoch(1970年1月1日) 以秒计算的时间，即unix-timestamp。")
    private Long exceptionTime;

    /**
     * 上报订单异常的配送员姓名
     */
    @ApiModelProperty("上报订单异常的配送员姓名")
    private String courierName;

    /**
     * 上报订单异常的配送员电话
     */
    @ApiModelProperty("上报订单异常的配送员电话")
    private String courierPhone;

    /**
     * 处理状态
     */
    @ApiModelProperty("处理状态")
    private Boolean status;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 处理时间
     */
    @ApiModelProperty("处理时间")
    private Date settleTime;

    /**
     * 商户id
     */
    @ApiModelProperty("商户id")
    private Long merchantId;
}
